package com.yaha.controler.utils;

import android.content.Context;
import android.util.Log;
import android.widget.Toast;

/**
 * <功能描述>日志打印工具类
 * 
 * @author Frewen.W
 * @version [版本号, 2015-3-20]
 * @since [产品/模块版本]
 */
public class MyLog {
	private static final String APP_TAG = "YaHaControler";
	public static final boolean DBUG = true;

	public static void v(String TAG, String msg) {
		if (DBUG)
			Log.v(TAG, msg);
	}

	public static void d(String TAG, String msg) {
		if (DBUG)
			Log.d(TAG, msg);
	}

	public static void i(String TAG, String msg) {
		if (DBUG)
			Log.i(TAG, msg);
	}

	public static void w(String TAG, String msg) {
		if (DBUG)
			Log.w(TAG, msg);
	}

	public static void e(String TAG, String msg) {
		if (DBUG)
			Log.e(TAG, msg);
	}

	public static void v(String TAG, String title, String msg) {
		if (DBUG)
			Log.v(TAG, title + ":" + msg);
	}

	public static void d(String TAG, String title, String msg) {
		if (DBUG)
			Log.d(TAG, title + ":" + msg);
	}

	public static void i(String TAG, String title, String msg) {
		if (DBUG)
			Log.i(TAG, title + ":" + msg);
	}

	public static void w(String TAG, String title, String msg) {
		if (DBUG)
			Log.w(TAG, title + ":" + msg);
	}

	public static void e(String TAG, String title, String msg) {
		if (DBUG)
			Log.e(TAG, title + ":" + msg);
	}

	/**
	 * 获取异常所在行 <功能描述>
	 * 
	 * @param exception
	 * @return [参数说明]
	 * @return int [返回类型说明]
	 * @exception throws [违例类型] [违例说明]
	 */
	public static int getExceptionLine(final Exception exception) {
		int lineNumber = 0;
		final StackTraceElement[] stackTraceElement = exception.getStackTrace();
		if (stackTraceElement != null && stackTraceElement.length > 0) {
			lineNumber = stackTraceElement[0].getLineNumber();
		}
		return lineNumber;
	}

	/**
	 * <功能描述>打印自定义时长Toast调试信息
	 * 
	 * @param context
	 *            上下文
	 * @param msg
	 *            打印的消息
	 * @param time
	 *            显示时长
	 */
	public static void showToastMessage(Context context, CharSequence msg, int time) {
		Toast.makeText(context, msg, time).show();
	}

	/**
	 * <功能描述>打印Toast调试信息
	 * 
	 * @param context
	 *            上下文对象
	 * @param msg
	 *            调试信息
	 */
	public static void showShortToastMessage(Context context, String msg) {
		Toast.makeText(context, msg, Toast.LENGTH_SHORT).show();
	}

	/**
	 * <功能描述>打印Toast调试信息
	 * 
	 * @param context
	 *            上下文对象
	 * @param msg
	 *            调试信息
	 */
	public static void showLongToastMessage(Context context, String msg) {
		Toast.makeText(context, msg, Toast.LENGTH_SHORT).show();
	}

}
